package com.zzl.study.auth.service;

import com.github.pagehelper.PageInfo;
import com.zzl.study.auth.domain.dto.RegisteredClientDto;

/**
 * @author: zhangzl
 * @date: 2023/12/8 14:06
 * @version: 1.0
 * @description: 注册客户端Service
 */
public interface RegisteredClientService {

    /**
     * 查询注册客户端分页集合
     *
     * @param clientName 客户端名称
     * @param pageNum    当前页
     * @param pageSize   每页条数
     * @return 客户端分页集合
     */
    PageInfo<RegisteredClientDto> selectRegisteredClientPageList(String clientName, Integer pageNum, Integer pageSize);

    /**
     * 创建注册客户端
     *
     * @param registeredClientDto 客户端DTO对象
     * @return 客户端密钥
     */
    String createRegisteredClient(RegisteredClientDto registeredClientDto);

    /**
     * 根据ID查询注册客户端
     *
     * @param id ID
     * @return 客户端
     */
    RegisteredClientDto selectRegisteredClientById(String id);

    /**
     * 更新注册客户端
     *
     * @param registeredClientDto 客户端DTO对象
     */
    void updateRegisteredClient(RegisteredClientDto registeredClientDto);

    /**
     * 批量删除注册客户端
     *
     * @param ids ID数组
     */
    void deleteRegisteredClientByIds(String[] ids);

}
